<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets">

    <ui:composition template="/publico/templates/principal.xhtml">

        <ui:define name="titulo">
            #{msgs.PageTitle}
        </ui:define>
        <ui:define name="corpo">

            <f:view>
                <h:form>

                    <p:panelGrid columns="4" style=" width: 770px;"  >
                        <f:facet name="header">
                            Cadastro de Clientes
                        </f:facet>
                        <p:outputLabel value="Cnpj:" for="cnpj"/>
                        <p:inputMask id="cnpj" value="#{clienteBean.cliente.cnpj}" title="Cnpj" mask="99.999.999/9999-99"
                                     required="true" requiredMessage="Informe o Cnpj"/>
                        <p:outputLabel value="Inscricao:" for="inscricao"/>
                        <p:inputMask id="inscricao" value="#{clienteBean.cliente.inscricao}" title="Inscricao"
                                     required="true" requiredMessage="Informe o Inscrição" mask="99.999.999-9"/>
                        <p:outputLabel value="Nome Fantasia: " for="nomeFantasia"/>
                        <p:inputText id="nomeFantasia" value="#{clienteBean.cliente.nomeFantasia}" title="NomeFantasia" style=" width: 240px"
                                     required="true" requiredMessage="Informe o Nome Fantasia"/>
                        <p:outputLabel value="Razão:" for="razao"/>
                        <p:inputText id="razao" value="#{clienteBean.cliente.razao}" title="Razao" style=" width: 240px" 
                                     required="true" requiredMessage="Informe a Razão"/>

                        <p:outputLabel value="Email:" for="email" />
                        <p:inputText id="email" required="true" label="Email" size="40" style=" width: 240px"
                                     requiredMessage="Entre com um E-mail."
                                     validatorMessage="Formato de E-mail Invalido"
                                     value="#{clienteBean.cliente.email}">

                            <f:validateRegex
                                pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$" />

                        </p:inputText>

                        <p:outputLabel value="Contador:" for="contador" />
                        <p:inputText id="contador" value="#{clienteBean.cliente.contador}" title="Contador" style=" width: 240px" />
                        <p:outputLabel value="Responsavel:" for="responsavel"/>
                        <p:inputText id="responsavel" value="#{clienteBean.cliente.nomeResponsavel}" title="Responsavel" style=" width: 240px" />
                        <p:outputLabel value="Cpf Responsavel:" for="cpfResponsavel"/>
                        <p:inputMask id="cpfResponsavel" value="#{clienteBean.cliente.cpfResponsavel}" title="Cpf Responsavel" mask="999.999.999-99"
                                     required="true" requiredMessage="Informe o Cpf !" />
                        <p:outputLabel value="Celular Responsavel:" for="celularResponsavel"/>
                        <p:inputMask id="celularResponsavel" value="#{clienteBean.cliente.celularResponsavel}"  mask="(99)9999-9999" />
                        <p:outputLabel value="Endereco:" for="endereco" />
                        <p:inputText id="endereco" value="#{clienteBean.cliente.endereco}" title="Endereco" style=" width: 240px"/>
                        <p:outputLabel value="Cidade:" for="cidade" />
                        <p:inputText id="cidade" value="#{clienteBean.cliente.cidade}" title="Cidade" />
                        <p:outputLabel value="Complemento:" for="complemento" />
                        <p:inputText id="complemento" value="#{clienteBean.cliente.complemento}" title="Complemento" style=" width: 240px"/>
                        <p:outputLabel value="Cep:" for="cep" />
                        <p:inputMask id="cep" value="#{clienteBean.cliente.cep}" mask="99.999-999" 
                                     required="true" requiredMessage="Informe o Cep !" />
                        <p:outputLabel value="Telefone:" for="telefone" />
                        <p:inputMask id="telefone" value="#{clienteBean.cliente.telefone}" mask="(99)9999-9999"
                                     required="true" requiredMessage="Informe o Telefone !" />
                        <p:outputLabel value="Celular:" for="celular" />
                        <p:inputMask id="celular" value="#{clienteBean.cliente.celular}" mask="(99)9999-9999"/>



                        <h:outputText value="Dia Pagamento: " />  
                        <p:selectOneRadio id="diaPagamento" value="#{clienteBean.cliente.diaPagamento}">  
                            <f:selectItem itemLabel="1" itemValue="1" />  
                            <f:selectItem itemLabel="10" itemValue="10" />  
                            <f:selectItem itemLabel="20" itemValue="20" />  
                        </p:selectOneRadio> 

                        <p:outputLabel value="Data Inicio:" for="dataInicio" />


                        <p:calendar value="#{clienteBean.cliente.dataInicio}" id="dataInicio" showOn="button" pattern="dd/MM/yyyy"
                                    required="true" requiredMessage="Informe o Data Inicio !" />
                        <p:outputLabel value="Chave:" for="chave" />
                        <p:inputMask id="chave" value="#{clienteBean.cliente.chave}" title="Chave"  mask="********"/>
                        <p:outputLabel value="Vencimento Certificado:" for="VencimentoCertificado" />
                        <p:calendar value="#{clienteBean.cliente.dataVencimentoCertificado}" id="VencimentoCertificado" showOn="button" pattern="dd/MM/yyyy"/>
                        <f:facet name="footer">

                            <p:commandButton action="#{clienteBean.prepararAdicionarCliente()}"  value="Novo"  style="margin:0"/> 

                            <p:commandButton   action="#{clienteBean.adicionarCliente()}" ajax="false"
                                               value="Gravar" style="margin:0" /> 

                        </f:facet>  
                    </p:panelGrid>
                    <!--  Componentes invisiveis-->
                    <h:inputText id="codigo" value="#{clienteBean.cliente.codigo}" title="Codigo" style=" display: none" />
                </h:form>
                <h:form prependId="false">
                    <p:dataTable value="#{clienteBean.listarClientes}" var="cliente" rowKey="#{cliente.codigo}"  
                                 selectionMode="single" style="height: 390px; width: 770px;" id="tabela" paginator="true" rows="10">

                        <p:column id = "dtcnpj" filterBy="cnpj"  
                                  headerText="Cnpj">
                            <h:outputText value="#{cliente.cnpj}" />
                        </p:column>


                        <p:column id = "dtinscricao" filterBy="inscricao" 
                                  headerText="Inscrição">
                            <h:outputText value="#{cliente.inscricao}" />
                        </p:column>

                        <p:column id = "dtrazao" filterBy="razao" 
                                  headerText="Razão">
                            <h:outputText value="#{cliente.razao}" />
                        </p:column>

                        <p:column id = "dtfantasia" filterBy="nomeFantasia" 
                                  headerText="Fantasia">
                            <h:outputText value="#{cliente.nomeFantasia}" />
                        </p:column>
                        
                         <p:column headerText="Ações"> 
                             <h:commandLink action="#{clienteBean.prepararAlterarCliente()}">
                            <h:graphicImage library="imagens" name="editar16.png"/>
                            <f:setPropertyActionListener target="#{clienteBean.cliente}" value="#{cliente}"/>
                        </h:commandLink>
                             <h:commandLink action="#{clienteBean.excluirCliente()}"
                                       onclick="if (!confirm('Confirma a exclusão do Cliente #{cliente.nomeFantasia}?'))
                                                   return false;">
                            <h:graphicImage library="imagens" name="excluir16.png" />
                            <f:setPropertyActionListener target="#{clienteBean.cliente}" value="#{cliente}"/>
                        </h:commandLink>

                    </p:column>

                    </p:dataTable>

                </h:form>

            </f:view>


        </ui:define>
    </ui:composition>
</html>
